<!--
 ! Excerpted from "Mastering Dojo",
 ! published by The Pragmatic Bookshelf.
 ! Copyrights apply to this code. It may not be used to create training material, 
 ! courses, books, articles, and the like. Contact us if you are in doubt.
 ! We make no guarantees that this code is fit for any purpose. 
 ! Visit http://www.pragmaticprogrammer.com/titles/rgdojo for more book information.
-->

<div class="dijit dijitReset dijitInlineTable dijitLeft"
  id="widget_${id}"
  dojoAttachEvent="onmouseenter:_onMouse,onmouseleave:_onMouse,\
    onmousedown:_onMouse" 
  dojoAttachPoint="comboNode" waiRole="combobox" tabIndex="-1"
  ><div style="overflow:hidden;"
	><div 
      class='dijitReset dijitRight dijitButtonNode dijitArrowButton\
        dijitDownArrowButton'
      dojoAttachPoint="downArrowNode" waiRole="presentation"
      ><div class="dijitArrowButtonInner">&thinsp;</div
      ><div class="dijitArrowButtonChar">&#9660;</div
    ></div
    ><div class="dijitReset dijitValidationIcon"><br></div
    ><div class="dijitReset dijitValidationIconText">&Chi;</div
    ><div class="dijitReset dijitInputField"
    ><input type="text" autocomplete="off" name="${name}" class='dijitReset'
    dojoAttachEvent="onkeypress:_onKeyPress, onfocus:_update, compositionend"
    dojoAttachPoint="textbox,focusNode" 
    waiRole="textbox" waiState="haspopup-true,autocomplete-list"
    /></div
  ></div
></div>

<!-- To fit the code to the margins of the book, we had to break a line with \+enter. -->
<!-- To run the code, remove \+enter. -->
